﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Bootstrap.Models;
using Bootstrap.Services;
using Bootstrap.Settings;

namespace Bootstrap.Settings
{
    public class ThemeSettings : IBootstrapSetting, IBootstrapDefaults
    {
        public void Describe(SettingDescriptionContext context) {
            context
                .Describe(
                    "fluidLayout",
                    setting =>
                    setting
                        .WithDisplayName("Fluid Layout")
                        //("Enables fluid (full width) layouts")
                        .WithCategory(SettingCategories.BootstrapSettings, 1)
                        .Switch()
                )
                .Describe(
                    "fixedNavbar",
                    setting =>
                    setting
                        .WithDisplayName("Fixed Navbar")
                        //("Pins navigation bar to the top of the browser window")
                        .WithCategory(SettingCategories.BootstrapSettings, 4)
                        .Switch()

                );
            //example: (thereverand) Here are some setting examples!
            //.Describe(
            //    "awesomeString",
            //    setting =>
            //    setting
            //        .WithDisplayName("Awesome String")
            //        .WithCategory(SettingCategories.BootstrapSettings, 2)
            //)
            //.Describe(
            //    "amazingChoice",
            //    setting => 
            //        setting
            //        .WithDisplayName("Amazing Choice")
            //        .WithCategory(SettingCategories.BootstrapSettings, 3)
            //        .WithChoices(
            //            "Star Trek: The Motion Picture",
            //            "Star Trek II: The Wrath of Khan",
            //            "Star Trek III: The Search for Spock",
            //            "Star Trek IV: The Journey Home",
            //            "Star Trek V: The Final Frontier",
            //            "Star Trek VI: The Undiscovered Country"
            //        )
            //);
        }

        public int Priority { get { return 0; } }

        public void Define(BootstrapDefaultSettingsContext context) {
            context
                .Setting("fluidLayout", setting => setting.WithValue("false"))
                .Setting("fixedNavbar", setting => setting.WithValue("true"));
            ////example: (thereverand) Mmmmmmm Defaults....
            //  .Setting("awesomeString", setting => setting.WithValue("EPIC AWESOME!"))
            //  .Setting("amazingChoice", setting => setting.WithValue("Star Trek II: The Wrath of Khan"));
        }
    }
}
